/**
 * 公共js
 */
// 模块名称注册
if (cw == null)
	var cw = {};
if (cw.common == null)
	cw.common = {};

var url = document.location.pathname;
var itmp = url.indexOf("/", 1);
var webpath = itmp < 0 ? url : url.substr(0, itmp);
if (webpath.indexOf('/') == -1) {
	webpath = '/' + webpath;
}

cw.common = {

	path : window.location.protocol + '//' + window.location.host + webpath,
	
	aclName : 'FRAMEWORK-ERROR-ACL-2',
	/**
	 * 分页的代码 defaultHtml 如果没有找到数据，则将这个变量原本的显示在panel中
	 */
	changePage : function(url, pageSize, xmlname, result, youfun, pagePanel,defaultHtml,current,sizePanel) {
		$(pagePanel).text('');
		cw.common.beLoading(result);
		var totalRows = 'data.root.' + xmlname + '.page.totalRows';
		var currentpage = 'data.root.' + xmlname + '.page.currentPage';
		var i = 1;
		if(current != null && current != '' && current != undefined){
			i = current;
		}
		url = encodeURI(url);
		$.post(url, {
					PAGE_SIZE : pageSize,
					CURRENT_PAGE : i
				}, function(data) {
					if(data.success){
						if(sizePanel!=null && sizePanel!='' && sizePanel!=undefined){
							var allPage = (Math.ceil(eval(totalRows)/pageSize));//alert(Math.ceil(7.1));//小数取整进位
							$(sizePanel).html('&nbsp;每页<strong>'+pageSize+'</strong>条,共<strong>'+allPage+'</strong>页,共<strong>'+eval(totalRows)+'</strong>条记录');//显示多少条记录
						}
						if (eval(totalRows) != null && eval(totalRows) != undefined && eval(currentpage) != null && eval(currentpage) != undefined) {
							if (pagePanel != null && pagePanel != "" && eval(totalRows) > pageSize) {
								$(pagePanel).pagination(eval(totalRows), {
									items_per_page : pageSize,
									current_page : eval(currentpage) - 1,
									num_display_entries : 5,
									callback : function(page_id, panel) {
										$.post(url, {
													PAGE_SIZE : pageSize,
													CURRENT_PAGE : page_id + 1
												}, function(data) {
													cw.common.showdata(data, xmlname, youfun, result, defaultHtml,eval(currentpage));
												}, "json");
									}
								});
							}
						}
						cw.common.showdata(data, xmlname, youfun, result, defaultHtml,eval(currentpage));
					}
					else if(data.errors.errorcode == cw.common.aclName){
						$(result).html('<li><em style="text-align: center;width:100%">您没有查看列表的权限</em></li>');
					}
					else{
						alert(data.errors.errmsg);
					}
		//			cw.common.setStyle();
				}, "json");
					
	},
	/**
	 * 插入等待图片
	 */
	beLoading : function(result) {
		$(result).html('<em style="width:100%;text-align: center;"><img src="' + cw.common.path + '/common/images/loader.gif"/></em>');
	},
	
	forLoading: function(result) {
		$(result).html('<li><em style="width:100%;text-align: center;"><img src="' + cw.common.path + '/common/images/loader.gif"/></em></li>');
	},

	/**
	 * 显示分页数据
	 */
	showdata:function(data,xmlname,youfun,result,defaultHtml,current) {
		$(result).text('');
		var t=true;
		if(eval('data.root.'+xmlname+'.rs')!=null && eval('data.root.'+xmlname+'.rs')!=undefined && eval('data.root.'+xmlname+'.rs.length')>0){
			$.each(eval('data.root.'+xmlname+'.rs'),function(i,n){
				youfun(this,$(result),i,n,current);
				t=false;
			})
		}
		if(t){
			$(result).append(defaultHtml);
		}
		cw.common.setStyle();
	},
	/**
	 * 分页数据列表
	 */
	listPage:function(url,xmlname,result,youfun,defaultHtml){
		url=encodeURI(url);
		$.post(url, {}, function(data) {
			if(data.success){
				cw.common.showDictData(data,xmlname,youfun,result,defaultHtml);
			}
			else if(data.errors.errorcode == cw.common.aclName){
				$(result).html('<li><em style="text-align: center;width:100%">您没有查看列表的权限</em></li>');
			}
			else{
				alert(data.errors.errmsg);
			}
		}, "json");
		cw.common.setStyle();
	},

	/**
	 * 显示分页字典数据
	 */
	showDictData:function(data,xmlname,youfun,result,defaultHtml) {
		var t=true;
		if(eval('data.root.'+xmlname+'.rs')!=null && eval('data.root.'+xmlname+'.rs')!=undefined && eval('data.root.'+xmlname+'.rs.length')>0){
			$.each(eval('data.root.'+xmlname+'.rs'),function(i,n){
				youfun(this,$(result),i,n);
				t=false;
			})
		}
		if(t){
			$(result).append(defaultHtml);
		}
	},
	
	/**
	 * 取得数据字典数据
	 */
	getDictByPage : function(DICT_ID,CLASS_CODE,result,youfn){
		var url = cw.common.path + '/json?action=QUERY_T_SYSTEM_STATUS_ACTION&STATUS_TYPE='+ DICT_ID;	//获取某一类的全部数据
		if(CLASS_CODE.length>0){	
			url = cw.common.path + '/json?action=GET_T_SYSTEM_STATUS_ACTION&STATUS_TYPE='+ DICT_ID+'&STATUS_CODE='+CLASS_CODE;//获取某一类的指定的数据
		}
		url=encodeURI(url);
		var xmlname='T_SYSTEM_STATUS';
		cw.common.listPage(url,xmlname,result,youfn);
	},
	
	/**
	 * 返回URL中的参数值，类似JSP中的request.getParamter('id'); 
	 * 用法：var strGetQuery =document.location.search; var id = cw.common.getQueryString(strGetQuery,'id');
	 */
	getQueryString : function (url,name){
		var reg = new RegExp("(^|\\?|&)"+ name +"=([^&]*)(\\s|&|$)", "i");
		if (reg.test(url)){
			if($.browser.mozilla){
				return decodeURI(RegExp.$2.replace(/\+/g, " "));
			}
			else{
				return unescape(RegExp.$2.replace(/\+/g, " "));
			}
		}
		return "";
	},
	
	/**
	 * 去除多余的字用指定符号代替
	 */
	ellipsis : function(str, maxlength, suffix) {
		if (str.length <= maxlength) {
			return str;
		} else {
			return str.substr(0, maxlength - 0) + suffix
		}
	},
	
	/**
	 * 取得用户session
	 */
	getUserSession : function(fn, flag,flag_parent) {
		var url = cw.common.path + '/json?action=GET_SESSION_USER_ACTION';
		var userinfo = {
			LOGIN_NAME : '',
			USER_ID : '',
			USER_NAME : '',
			PHONE : '',
			EMAIL : '',
			REMARK : '',
			LAST_LOGIN_TIME : '',
			LAST_LOGIN_IP : ''
		};
		$.post(url,{}, function(data) {
				if(data.success){
					if(data.root.SESSION_ID.rs[0] == null || data.root.SESSION_ID.rs[0] == undefined){
						if(flag){
							alert("对不起，您还未登录或登录超时，请重新登录！");
						}
						if(flag_parent){
							window.parent.parent.location.href=cw.common.path + '/sysbackadmin/index.html';
						}
						else{
							window.parent.location.href=cw.common.path + '/sysbackadmin/index.html';
						}
					}
					else{
						userinfo = {
							LOGIN_NAME : data.root.SESSION_BEAN.rs[0].LOGIN_NAME,
							USER_ID : data.root.SESSION_BEAN.rs[0].USER_ID,
							USER_NAME : data.root.SESSION_BEAN.rs[0].USER_NAME,
							PHONE :data.root.SESSION_BEAN.rs[0].PHONE,
							EMAIL : data.root.SESSION_BEAN.rs[0].EMAIL,
							REMARK : data.root.SESSION_BEAN.rs[0].REMARK,
							LAST_LOGIN_TIME : data.root.SESSION_BEAN.rs[0].LAST_LOGIN_TIME,
							LAST_LOGIN_IP : data.root.SESSION_BEAN.rs[0].LAST_LOGIN_IP
						}
					}
					if(fn!=null || fn!=undefined){
						fn(userinfo);
					}
				}
				else{
					alert(data.errors.errmsg);
					if(flag_parent){
						window.parent.parent.location.href=cw.common.path + '/sysbackadmin/index.html';
					}
					else{
						window.parent.location.href=cw.common.path + '/sysbackadmin/index.html';
					}
				}
		}, "json");		
	},
	
	getMemberSession : function(fn, flag){
		var memberinfo = {
			MEMBER_NAME : "",
			PASSWORD : "",
			LAST_LOGIN_TIME : "",
			LOGIN_COUNT : "",
			PHONE : "",
			REAL_NAME : "",
			INNER_PHONE : "",
			MOBILE : "",
			COMPANY : "",
			LOGIN_IP : ""
		};
		$.post(cw.common.path + "/json?action=GET_MEMBER_SESSION",{},function(data){
			if(data.success){
				if(data.root.MEMBER == null || data.root.MEMBER == undefined || data.root.MEMBER.rs[0] == null || data.root.MEMBER.rs[0] == undefined){
					if(!flag){
						alert("对不起，您还未登录或登录超时，请重新登录！");
						window.location.href = cw.common.path + "/memberLogin.html?classid=6";
					}
				}
				else{
					memberinfo = {
						MEMBER_NAME : data.root.MEMBER.rs[0].MEMBER_NAME,
						PASSWORD : data.root.MEMBER.rs[0].PASSWORD,
						LAST_LOGIN_TIME : cw.common.toChar(data.root.MEMBER.rs[0].LAST_LOGIN_TIME,'yyyy-mm-dd hh24:mi:ss'),
						LOGIN_COUNT : data.root.MEMBER.rs[0].LOGIN_COUNT,
						PHONE : data.root.MEMBER.rs[0].PHONE,
						REAL_NAME : data.root.MEMBER.rs[0].REAL_NAME,
						INNER_PHONE : data.root.MEMBER.rs[0].INNER_PHONE,
						MOBILE : data.root.MEMBER.rs[0].MOBILE,
						COMPANY : data.root.MEMBER.rs[0].COMPANY,
						LOGIN_IP : data.root.LOGIN_IP.rs[0]
					}
				}
			}
			else{
				alert(data.errors.errmsg);
			}
			if(fn!=null || fn!=undefined){
				fn(memberinfo);
			}
		},'json');
	},
	
	/**
	 * 验证当前页面的操作按钮是否显示
	 * @param {} permissionNames
	 * @param {} actionNames
	 * @param {} fn
	 */
	hasPermission : function(permissionNames, actionNames, fn){ 
		$.ajax({
			type: 'post',
			url: cw.common.path + '/json',
			data: 'action=VALIDATOR_PERMISSION_ACTION&PERMISSION_NAME='+ permissionNames + '&ACTION_NAME='+actionNames,
			dataType: 'json',
			async: false,
			success:function(data){
				if(data.success){
					fn(data);
				}
				else{
					alert(data.errors.errmsg);
				}
			}
		})
	},


	/**
	 * 选中所有指定name的组件
	 */
	allCheck : function(name) {
		$("input[name=" + name + "]").each(function() {
					$(this).attr("checked", true);
				});
	},
	
	/**
	 * 去除所有指定name的组件
	 */
	desCheck : function(name) {
		$("input[name=" + name + "]").each(function() {
					$(this).attr("checked", false);
				});
	},
		
	/**
	 * 取Cookie
	 */ 
	getCookie : function(name) {
		var strCookie = document.cookie;
		var arrCookie = strCookie.split("; ");
		for (var i = 0; i < arrCookie.length; i++) {
			var arr = arrCookie[i].split("=");
			if (arr[0] == name) {
				if (arr[1] == '' || arr[1] == null || arr[1] == undefined) {
					return "";
				} else {
					return arr[1];
				}
			}
		}
		return "";
	},
	
	/**
	 * 过滤js脚本和html标签
	 */ 
	noHTML : function(htmlString) // 去除HTML标记
	{
		htmlString = htmlString.replace(/\\&[a-zA-Z]{1,10};/ig, '');
		htmlString = htmlString.replace(/<[^>]*>/ig, ''); 
		htmlString = htmlString.replace(/[(\/>)<]/ig, '');
		return htmlString;
	},
	
	/**
	 * 取得浏览器类型
	 */
	getBrowser : function() {
		var browser;
		if ($.browser.msie) {
			browser = "msie";
		} else if ($.browser.safari) {
			browser = "safari";
		} else if ($.browser.mozilla) {
			browser = "mozilla";
		} else if ($.browser.opera) {
			browser = "opera";
		} else {
			browser = "unknown";
		}
		return browser;
	},
	
	/**
	 * 功能：转换时间格式
	 * 描述: datetime 为输入时间，format 为时间格式
	 */
	toChar:function(datetime, format) {
		if(datetime=="" || datetime==null || datetime==undefined){
			return "";
		}else{
			var date = new Date(datetime);
			var yyyy = date.getFullYear();
			var mm = date.getMonth()+1;
			var dd = date.getDate();
			var hh24 = date.getHours();
			var mi = date.getMinutes();
			var ss = date.getSeconds();
			var s1 = format.replace(/yyyy|YYYY/g, yyyy);
			var s2 = s1.replace(/mm|MM/g,mm<10 ? "0" + mm : mm);
			var s3 = s2.replace(/dd|DD/g,dd<10 ? "0" + dd : dd);
			var s4 = s3.replace(/hh24|HH24/g,hh24<10 ? "0" + hh24 : hh24);
			var s5 = s4.replace(/mi|MI/g,mi<10 ? "0" + mi : mi);
			var s6 = s5.replace(/ss|SS/g,ss<10 ? "0" + ss : ss);
			return s6;
		}		
	},
	
	/**
	 * 功能：判断是否为数字
	 * 描述：
	 * numstr：需要验证的字符串
	 * 用法：
	 * isNumber('123');//返回:true;
	 */
	isNumber:function(numstr) {
		var i,j,strTemp; 
		strTemp = "0123456789"; 
		if (numstr.length== 0)	{ return false; }
		for (i=0;i<numstr.length;i++) {
			j = strTemp.indexOf(numstr.charAt(i)); 
			if (j == -1)return false; 
		} 
		return true; 
	},
	
	hideStatus:function(){
		window.status=' ';
	},
	
	debug:function(e){
		//打印异常信息，上线后注释掉alert(e.message)
		alert("操作失败");
	},
	
	setStyle:function(){
		$(".list li").mouseover(function(){
			$(this).addClass("over");
		}).mouseout(function(){ 
			$(this).removeClass("over");
		})
		$(".list li:even").addClass("alt");
	},
	
	getValue:function(id,value,defaultValue){
		if(value == null || value == ""){
			$('#'+id).html(defaultValue);
		}
		else{
			$('#'+id).html(value);
		}
	},
	
	setValue:function(id,value,type){
		if(type == "text"){
			$("#"+id).attr('value',value);
		}
		else if(type == "radio"){
			$("input:radio[name='"+id+"'][value='"+value+"']").attr("checked",true);
		}
		else if(type == "select"){
			$("#"+id).attr('value',value);
		}
		else if(type == "checkbox"){
			//$("#"+id).attr('value',value);
		}
	},
	
	addHit : function(table, key, value){
		$.post(cw.common.path + "/json?action=UPDATE_HIT_ACTION",{
			TABLE_NAME : table,
			KEY : key,
			ID : value
		},function(data){
		},'json');
	}
}
 


 
